iT邦幫忙

2022 iThome 鐵人賽

DAY 3
0
Modern Web

LV的全端開發體驗系列 第 3

Day03 專案建立

  • 分享至 

  • xImage
  •  

看官網指令來安裝laravel

今天打算先把laravel裝起來,然後做個小測試,確認一下開發環境沒問題,一樣到官網找一下指令,在終端機下指令,這邊很需要舉一反三的能力,但我常看到新手是不敢變通,比如對於一些命名或是範例的用法不知道那裏是可以改的,或是去改到不該改的地方。

composer create-project laravel/laravel quizzes

我的做法是先100%的複製官網提供的範例,如果連100%複製都有問題,那表示有些前置作業沒做好,比如沒裝composer....
官方範例:

安裝過程:

安裝完成:

這時我們可以去觀察結果和指令的關係:

  • composer是命令,要安裝PHP的套件可能都要先下這個命令
  • create-project是參數,看得懂英文的應該看得出來這是要創建一個專案的意思
  • laravel/laravel 和我們要安裝的laravel有關,所以可以推測如果要安裝其它的套件,這邊的指令應該會不一樣
  • example-app 安裝完成後,硬碟中出現了一個一樣名字的資料夾,所以可以推測專案資料夾可以從這裏改變

然後我會看到很多人是先照官方範例安裝後再去改資料夾名稱,雖然也是可以,但應該要覺得這樣做是怪怪的。
當然composer還有很多細節的參數和用法,比如可以鎖定套件的版本之類的,這就留給有興趣的朋友去研究了。

建立專案後,把專案拖進VS CODE,接下來的動作都在VS CODE的終端機中完成就可以了,這樣做是為了避免在外部份的終端機作業中,很多人搞不清楚自己現在到底應該在那個目錄中下指令。

先下個指令來確認一下到底裝了那個版本的laravel:

php artisan --version


接著可以用laravel提供的伺服器來看一下首頁有沒有跑起來

php artisan serve


請一定要學著先把下完指令後的一些訊息看清楚,這裏有兩個訊息,一個是說伺服器跑在 http://127.0.0.1:8000 這個位址,表示我們要在瀏灠器輸入這個位址;
如果我們想停止這個serve可以按下ctrl+c來停止。

不過這個指令只是用來做簡單的測試而已,後面我們要用比較接近正式環境的方式來進行專案,所以我們希望可以在Apahce server上看到這個結果。

設定處擬伺服器

不過因為路由控制的因素,大多數時候你必須設定apache的document root到laravel中的public目錄,後續的路由才會正常運作,但如果同時要進行多個專案時,每次都要去改document root就太累了,所以這邊分享一個使用虛擬伺服器的方式來管理多個專案的方式,vhost的原理有興趣的可以去google一下,這邊只分享做法:

windows xampp

使用文字編輯器打開apache的http.conf檔案

可以使用關鍵字 hosts 來找到相關的設定,確認模組前的 # 已經拿掉了,而這個模組的路徑也代表了這個web server存放虛擬主機設定檔的地方

接著到 xampp 的目錄下找到這個httpd-vhosts.conf檔,並使用文字編輯器來打開

預設的設定檔內容有一些設定的範例可供參考,請讀懂它再使用:

有兩種方式可以用來設定虛擬主機,一是使用port號,也就是和laravel serve一樣的在IP後加上一個3000以上的號碼,

另一個方式是指定域名,這是我自己常用的方式,不過這個方式除了改vhost還得去改系統的hosts。

httpd-vhosts.conf 中進行以下的設定

## 只須要傾聽 80 port即可,如果在http.conf中己經有傾聽80 port,則在此檔中不需要再寫一次
Listen 80

<VirtualHost *:80>
    DocumentRoot "E:/quizzes/public"

    ##更改ServerName為自己指定的域名
    ServerName quizzes.com

    ## 以下是針對目錄做的權限及開放功能設定
    <Directory E:/quizzes>
        Options Indexes Includes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

接著到windows目錄下找到hosts檔(此檔沒有副檔名)

使用文字編輯器打開後,建立IP和域名的對應關係

127.0.0.1       localhost
::1             localhost
127.0.0.1       quizzes.com

設定完成後儲存,並且重開apache server,在瀏灠器中輸入我們設定的域名後應該就可以看到專案的首頁。

如果是windows10以上的作業系統,應該hosts儲存完畢後會立刻生效,如果是windows10以下或是沒有生效的話,重開機後讓作業系統重新載入一次hosts檔即可

macOS

macOS也是可以設定虛擬伺服器,不過你要比windows下更熟悉命令列的使用,同時也要對linux有些基礎的了解。

先在終端機下brew 指令來查詢httpd的資訊

brew info httpd


以我的mac 為例,可以看到httpd.conf在 /opt/homebrew/etc/httpd/ 這個目錄下,那extra之類的應該也是吧

cd /opt/homebrew/etc/httpd/
ls


所以我們可以進到extra目錄下,並且使用編輯器來打開 httpd-vhosts.conf 進行虛擬伺服器的設定。

改完之後可以使用 brew 指令來重啟httpd

brew services restart httpd

不過由於macOS本身就有內建一套apache了,通常會停用內建的,所以也可以使用內部指令來重啟httpd

sudo apachectl restart

如果你的虛擬伺服器是使用域名來設定的,那還是得去改一下hosts這個檔,在mac中這個檔案放在 /etc 目錄下

更改成功的話,一樣可以在mac的瀏灠器中看到專案的首頁

確認專案建立完成,基本測試也沒什麼問題後,我就會先把這個版本放進git/github做一個初始化的版本紀錄,
然後再開一個分支叫做develop,develop會是主要的開發分支,所以upstream也會設在這個分支。

 git init
 git add .
 git commit -m "初始化版本"
 git branch develop
 git checkout develop
 git branch

git remote add quizzes https://github.com/your account/quizzes.git
git push quizzes main
git push -u quizzes develop


今天就先這樣吧,我的專案建立似乎很麻煩,但這是我目前進行專案的狀況,一但建立完成,就真的是走到開發到那,提供給朋友們一個參考。


上一篇
Day02 開發環境建置
下一篇
Day04 使用內建的會員系統Breeze
系列文
LV的全端開發體驗30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言